Intra refresh (IR) is an efficient error concealment tool used in video encoding for noisy channel environment. In situations where valid temporal reference(s) are lost in transmission, IR helps in reconstructing the video by correctly reproducing Intra coded macroblocks. The absence of temporal references in Intra coded macro-blocks makes this possible. In contrast, correct reproduction of Inter coded macroblocks requires temporal references.
The IR error concealment capability comes with the cost of decreasing coding efficiency. The Inter macroblocks exploit temporal redundancy to achieve better coding efficiency. Such temporal redundancy is not used for Intra coded macroblocks. The prior art uses IR by cyclically or randomly, coding a fixed number of Intra macroblocks in each frame. Video sequences with no motion or low motion content typically include many macroblocks which do not generate any residual energy or generate very small residual energy. These macroblocks can be Inter coded at an acceptable level of fidelity using very few bits. If these macroblocks are Intra coded due to IR constrains, they consume a larger number of bits to achieve the same fidelity. On a set of typical video sequences simulations show loss of more than 0.5 db in perceived signal to noise ratio (PSNR) due to using IR. This expected loss is significantly more for non-typical video sequences having no or low motion.
Thus Intra refresh (IR) causes a 0.5 to 0.65 db degradation in PSNR due to inefficient coding type for forced Intra macroblocks. This degradation is greater in low motion video sequences. Customers perceive poor subjective quality with any non-random IR scheme. Thus there is a need in the art for an efficient IR strategy which improves objective and subjective quality. This should be comparable with cyclic refresh IR from the perspective of error concealment capability.